Ana içeriğe geç

Nodemon Nedir?

Nodemon, Node.js uygulamalarının geliştirme sürecini kolaylaştıran bir izleme aracıdır. Dosya değişikliklerini algılar ve uygulamayı otomatik olarak yeniden başlatır.

// package.json içinde kullanım
{
"scripts": {
"dev": "nodemon app.js",
"watch": "nodemon --watch src --ext js,json,yml"
}
}

// nodemon.json yapılandırma örneği
{
"watch": ["src/", "config/"],
"ext": "js,json,yaml,env",
"ignore": ["*.test.js", "fixtures/*"],
"exec": "node ./src/server.js",
"events": {
"restart": "osascript -e 'display notification \"Uygulama yeniden başlatıldı\" with title \"Nodemon\"'"
}
}

ipucu

Nodemon'u projenize eklemek için npm install nodemon --save-dev komutunu kullanabilirsiniz.

Temel Özellikler

  • Dosya değişikliklerini otomatik izleme
  • Özelleştirilebilir dosya uzantısı desteği
  • İzlenecek ve göz ardı edilecek dizinleri belirleme
  • Özel komut çalıştırma desteği
  • Legacy mode desteği
  • Node.js flags desteği

Önemli Nokta: Nodemon, geliştirme sürecini hızlandırır ve manuel yeniden başlatma ihtiyacını ortadan kaldırır. — Nodemon'un en önemli avantajı


Komut Satırı Seçenekleri

  • --exec: Farklı bir komut çalıştırma
  • --watch: İzlenecek dizinleri belirleme
  • --ext: İzlenecek uzantıları belirleme
  • --ignore: Göz ardı edilecek dosyaları belirleme
  • --delay: Yeniden başlatma gecikmesi
  • --quiet: Sessiz mod
bilgi

Nodemon, .nodemon.json dosyası ile proje bazlı yapılandırma yapmanıza olanak tanır.

Gelişmiş Kullanım

  1. Olay Yönetimi

    {
    "events": {
    "start": "echo 'Uygulama başlatıldı'",
    "restart": "echo 'Değişiklikler algılandı'",
    "crash": "echo 'Uygulama çöktü!'"
    }
    }
  2. Legacy Mode

    nodemon --legacy-watch app.js
tehlike

Büyük projelerde çok sayıda dosyayı izlemek performans sorunlarına yol açabilir.


Tipik Kullanım Senaryoları

  1. Express.js Uygulamaları

    {
    "scripts": {
    "dev": "nodemon ./src/app.js"
    }
    }
  2. TypeScript Projeleri

    {
    "scripts": {
    "dev": "nodemon --exec 'ts-node' ./src/index.ts"
    }
    }

Nodemon vs Alternatifler

  • PM2 ile karşılaştırıldığında daha hafif ve geliştirme odaklı
  • Forever ile karşılaştırıldığında daha modern ve aktif geliştirilen
  • Node-dev ile karşılaştırıldığında daha geniş özellik seti
bilgi

Nodemon özellikle geliştirme ortamı için tasarlanmıştır, prodüksiyon ortamı için PM2 gibi araçlar tercih edilmelidir.


En İyi Uygulamalar

  1. Göz Ardı Edilecek Dosyaları Belirleme

    • node_modules
    • Geçici dosyalar
    • Log dosyaları
    • Build çıktıları
  2. Performans İyileştirmeleri

    • Sadece gerekli dizinleri izleme
    • Uygun dosya uzantılarını belirleme
    • Gereksiz yeniden başlatmaları önleme

Özetle, Nodemon, Node.js geliştirme sürecini önemli ölçüde kolaylaştıran, geliştirici dostu bir araçtır. Otomatik yeniden başlatma özelliği ve geniş yapılandırma seçenekleriyle, modern web uygulaması geliştirme süreçlerinin vazgeçilmez bir parçası haline gelmiştir.